package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.CardForm;
import com.dragon.modules.yuegou.enums.CardType;
import com.dragon.modules.yuegou.enums.OwnerType;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateBindingStatus;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateCardNoRules;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateCardPwdRules;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateCardStyle;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateCheckStatus;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateMakeCardWay;
import com.dragon.modules.yuegou.enums.wallet.CardTemplatePeriodUnit;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateScope;
import com.dragon.modules.yuegou.enums.wallet.CardTemplateTimeLimitType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 悦卡模板实体类<br>
 * 对应的表为：walt_card_template<br>
 * 
 * @author pbuilder generated
 * @date 2021-07-02 09:50:03
 * @company sgy
 * @version 2.0
 */
@TableName("walt_card_template")
@ApiModel(description = "悦卡模板")
public class CardTemplateEntity {

    /** 悦卡ID */
	@ApiModelProperty("悦卡ID")
	protected String id;

    /** [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT */
	@ApiModelProperty("[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT")
	protected OwnerType ownerType;

    /** 集团ID */
	@ApiModelProperty("集团ID")
	protected String groupId;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 商户ID */
	@ApiModelProperty("商户ID")
	protected String merchantId;

    /** 悦卡名称 */
	@ApiModelProperty("悦卡名称")
	protected String title;

    /** 悦卡面值 */
	@ApiModelProperty("悦卡面值")
	protected BigDecimal amount;

    /** 悦卡图片地址 */
	@ApiModelProperty("悦卡图片地址")
	protected String imgUrl;

    /** 悦卡详情图片地址 */
	@ApiModelProperty("悦卡详情图片地址")
	protected String detailImgUrl;

    /** 是否启用（1启用，0禁用），启用后可以发放 */
	@ApiModelProperty("是否启用（1启用，0禁用），启用后可以发放")
	protected Boolean enabled;

    /** 是否上架（1：上架 0：下架）上架后可以购买 */
	@ApiModelProperty("是否上架（1：上架 0：下架）上架后可以购买")
	protected Boolean onShelves;

    /** [枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD */
	@ApiModelProperty("[枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD")
	protected CardTemplateTimeLimitType timeLimitType;

    /** 有效期开始时间 （与有效天数二选一） */
	@ApiModelProperty("有效期开始时间 （与有效天数二选一）")
	protected LocalDate beginTime;

    /** 有效期结束时间（与有效天数二选一） */
	@ApiModelProperty("有效期结束时间（与有效天数二选一）")
	protected LocalDate endTime;

    /** 有效时长 */
	@ApiModelProperty("有效时长")
	protected Integer period;

    /** [枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR */
	@ApiModelProperty("[枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR")
	protected CardTemplatePeriodUnit periodUnit;

    /** 每日限额(-1.00表示不限额） */
	@ApiModelProperty("每日限额(-1.00表示不限额）")
	protected BigDecimal limitAmount;

    /** 是否可以退卡 */
	@ApiModelProperty("是否可以退卡")
	protected Boolean canRefund;

    /** 退款扣款手续费率比例(0.00~1.00) */
	@ApiModelProperty("退款扣款手续费率比例(0.00~1.00)")
	protected BigDecimal refundRate;

    /** 是否收取服务费 */
	@ApiModelProperty("是否收取服务费")
	protected Boolean needServiceFee;

    /** [枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT */
	@ApiModelProperty("[枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT")
	protected CardTemplateScope scope;

    /** 悦卡描述 */
	@ApiModelProperty("悦卡描述")
	protected String description;

    /** 悦卡类型ID（允许不分类） */
	@ApiModelProperty("悦卡类型ID（允许不分类）")
	protected String cardCategoryId;

    /** [全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD */
	@ApiModelProperty("[全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD")
	protected CardType cardType;

    /** 是否优先排序 0 不优先 1优先 */
	@ApiModelProperty("是否优先排序 0 不优先 1优先")
	protected Boolean prioritization;

    /** 是否允许再京东商城上买东西 0不允许 1允许 */
	@ApiModelProperty("是否允许再京东商城上买东西 0不允许 1允许")
	protected Boolean allowBuyJd;

    /** [全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD */
	@ApiModelProperty("[全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD")
	protected CardForm cardForm;

	/** [全局枚举]应用场景：1-线上-ON_LINE、2-线下-OFFLINE*/
	@ApiModelProperty("[全局枚举]应用场景：1-线上-ON_LINE、2-线下-OFFLINE")
	protected String scenarioType;

    /** [枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN */
	@ApiModelProperty("[枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN")
	protected CardTemplateCardNoRules cardNoRules;

    /** [枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT */
	@ApiModelProperty("[枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT")
	protected CardTemplateCardPwdRules cardPwdRules;

    /** [枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF */
	@ApiModelProperty("[枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF")
	protected CardTemplateMakeCardWay makeCardWay;

    /** 制卡数量 */
	@ApiModelProperty("制卡数量")
	protected Integer makeCardNum;

    /** 制卡服务费：手动输入 */
	@ApiModelProperty("制卡服务费：手动输入")
	protected BigDecimal makeCardServiceFee;

    /** [枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS */
	@ApiModelProperty("[枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS")
	protected CardTemplateCardStyle cardStyle;

    /** 卡正面 */
	@ApiModelProperty("卡正面")
	protected String cardPositiveUrl;

    /** 卡反面 */
	@ApiModelProperty("卡反面")
	protected String cardReverseUrl;

    /** 备注 */
	@ApiModelProperty("备注")
	protected String remark;

    /** 排序 */
	@ApiModelProperty("排序")
	protected Integer sort;

    /**  */
	protected LocalDateTime createdTime;

    /** 创建人 */
	@ApiModelProperty("创建人")
	protected String createdBy;

    /** 创建人名称 */
	@ApiModelProperty("创建人名称")
	protected String createdByName;

    /** 修改人 */
	@ApiModelProperty("修改人")
	protected String modifiedBy;

    /** 修改时间 */
	@ApiModelProperty("修改时间")
	protected LocalDateTime modifiedTime;

    /** 逻辑删除，1表示已删除,0表示未删除 */
	@ApiModelProperty("逻辑删除，1表示已删除,0表示未删除")
	protected Boolean del;

    /** 删除人ID */
	@ApiModelProperty("删除人ID")
	protected String delBy;

    /** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

    /** [枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED */
	@ApiModelProperty("[枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED")
	protected CardTemplateCheckStatus checkStatus;

    /** 审核人 */
	@ApiModelProperty("审核人")
	protected String checkBy;

    /** 审核名称 */
	@ApiModelProperty("审核名称")
	protected String checkName;

    /** 审核时间 */
	@ApiModelProperty("审核时间")
	protected LocalDateTime checkTime;

    /** 审核备注 */
	@ApiModelProperty("审核备注")
	protected String checkRemark;

    /** [枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT */
	@ApiModelProperty("[枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT")
	protected CardTemplateBindingStatus bindingStatus;

    /** 限制数量 */
	@ApiModelProperty("限制数量")
	protected Integer bindingNum;

	/**
	 * 构造一个空悦卡模板实体对象
	 */
	public CardTemplateEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个悦卡模板实体对象
	 * 
	 * @param other 其它对象
	 */
	public CardTemplateEntity(CardTemplateEntity other){
		super();
     	this.id = other.id;
     	this.ownerType = other.ownerType;
     	this.groupId = other.groupId;
     	this.busdId = other.busdId;
     	this.merchantId = other.merchantId;
     	this.title = other.title;
     	this.amount = other.amount;
     	this.imgUrl = other.imgUrl;
     	this.detailImgUrl = other.detailImgUrl;
     	this.enabled = other.enabled;
     	this.onShelves = other.onShelves;
     	this.timeLimitType = other.timeLimitType;
     	this.beginTime = other.beginTime;
     	this.endTime = other.endTime;
     	this.period = other.period;
     	this.periodUnit = other.periodUnit;
     	this.limitAmount = other.limitAmount;
     	this.canRefund = other.canRefund;
     	this.refundRate = other.refundRate;
     	this.needServiceFee = other.needServiceFee;
     	this.scope = other.scope;
     	this.description = other.description;
     	this.cardCategoryId = other.cardCategoryId;
     	this.cardType = other.cardType;
     	this.prioritization = other.prioritization;
     	this.allowBuyJd = other.allowBuyJd;
     	this.cardForm = other.cardForm;
     	this.cardNoRules = other.cardNoRules;
     	this.cardPwdRules = other.cardPwdRules;
     	this.makeCardWay = other.makeCardWay;
     	this.makeCardNum = other.makeCardNum;
     	this.makeCardServiceFee = other.makeCardServiceFee;
     	this.cardStyle = other.cardStyle;
     	this.cardPositiveUrl = other.cardPositiveUrl;
     	this.cardReverseUrl = other.cardReverseUrl;
     	this.remark = other.remark;
     	this.sort = other.sort;
     	this.createdTime = other.createdTime;
     	this.createdBy = other.createdBy;
     	this.createdByName = other.createdByName;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
     	this.checkStatus = other.checkStatus;
     	this.checkBy = other.checkBy;
     	this.checkName = other.checkName;
     	this.checkTime = other.checkTime;
     	this.checkRemark = other.checkRemark;
     	this.bindingStatus = other.bindingStatus;
     	this.bindingNum = other.bindingNum;
     	this.scenarioType = other.scenarioType;
	}


	/**
	 * 获取悦卡ID
	 * 
	 * @return id 悦卡ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置悦卡ID
	 * 
	 * @param id 悦卡ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 * 
	 * @return ownerType [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 */
	public OwnerType getOwnerType() {
		return ownerType;
	}
  	
	/**
	 * 设置[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 * 
	 * @param ownerType [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 */
	public void setOwnerType(OwnerType ownerType) {
		this.ownerType = ownerType;
	}

	/**
	 * 获取集团ID
	 * 
	 * @return groupId 集团ID
	 */
	public String getGroupId() {
		return groupId;
	}
  	
	/**
	 * 设置集团ID
	 * 
	 * @param groupId 集团ID
	 */
	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取商户ID
	 * 
	 * @return merchantId 商户ID
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户ID
	 * 
	 * @param merchantId 商户ID
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取悦卡名称
	 * 
	 * @return title 悦卡名称
	 */
	public String getTitle() {
		return title;
	}
  	
	/**
	 * 设置悦卡名称
	 * 
	 * @param title 悦卡名称
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * 获取悦卡面值
	 * 
	 * @return amount 悦卡面值
	 */
	public BigDecimal getAmount() {
		return amount;
	}
  	
	/**
	 * 设置悦卡面值
	 * 
	 * @param amount 悦卡面值
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取悦卡图片地址
	 * 
	 * @return imgUrl 悦卡图片地址
	 */
	public String getImgUrl() {
		return imgUrl;
	}
  	
	/**
	 * 设置悦卡图片地址
	 * 
	 * @param imgUrl 悦卡图片地址
	 */
	public void setImgUrl(String imgUrl) {
		this.imgUrl = imgUrl;
	}

	/**
	 * 获取悦卡详情图片地址
	 * 
	 * @return detailImgUrl 悦卡详情图片地址
	 */
	public String getDetailImgUrl() {
		return detailImgUrl;
	}
  	
	/**
	 * 设置悦卡详情图片地址
	 * 
	 * @param detailImgUrl 悦卡详情图片地址
	 */
	public void setDetailImgUrl(String detailImgUrl) {
		this.detailImgUrl = detailImgUrl;
	}

	/**
	 * 获取是否启用（1启用，0禁用），启用后可以发放
	 * 
	 * @return enabled 是否启用（1启用，0禁用），启用后可以发放
	 */
	public Boolean getEnabled() {
		return enabled;
	}
  	
	/**
	 * 设置是否启用（1启用，0禁用），启用后可以发放
	 * 
	 * @param enabled 是否启用（1启用，0禁用），启用后可以发放
	 */
	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	/**
	 * 获取是否上架（1：上架 0：下架）上架后可以购买
	 * 
	 * @return onShelves 是否上架（1：上架 0：下架）上架后可以购买
	 */
	public Boolean getOnShelves() {
		return onShelves;
	}
  	
	/**
	 * 设置是否上架（1：上架 0：下架）上架后可以购买
	 * 
	 * @param onShelves 是否上架（1：上架 0：下架）上架后可以购买
	 */
	public void setOnShelves(Boolean onShelves) {
		this.onShelves = onShelves;
	}

	/**
	 * 获取[枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD
	 * 
	 * @return timeLimitType [枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD
	 */
	public CardTemplateTimeLimitType getTimeLimitType() {
		return timeLimitType;
	}
  	
	/**
	 * 设置[枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD
	 * 
	 * @param timeLimitType [枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD
	 */
	public void setTimeLimitType(CardTemplateTimeLimitType timeLimitType) {
		this.timeLimitType = timeLimitType;
	}

	/**
	 * 获取有效期开始时间 （与有效天数二选一）
	 * 
	 * @return beginTime 有效期开始时间 （与有效天数二选一）
	 */
	public LocalDate getBeginTime() {
		return beginTime;
	}
  	
	/**
	 * 设置有效期开始时间 （与有效天数二选一）
	 * 
	 * @param beginTime 有效期开始时间 （与有效天数二选一）
	 */
	public void setBeginTime(LocalDate beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * 获取有效期结束时间（与有效天数二选一）
	 * 
	 * @return endTime 有效期结束时间（与有效天数二选一）
	 */
	public LocalDate getEndTime() {
		return endTime;
	}
  	
	/**
	 * 设置有效期结束时间（与有效天数二选一）
	 * 
	 * @param endTime 有效期结束时间（与有效天数二选一）
	 */
	public void setEndTime(LocalDate endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取有效时长
	 * 
	 * @return period 有效时长
	 */
	public Integer getPeriod() {
		return period;
	}
  	
	/**
	 * 设置有效时长
	 * 
	 * @param period 有效时长
	 */
	public void setPeriod(Integer period) {
		this.period = period;
	}

	/**
	 * 获取[枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR
	 * 
	 * @return periodUnit [枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR
	 */
	public CardTemplatePeriodUnit getPeriodUnit() {
		return periodUnit;
	}
  	
	/**
	 * 设置[枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR
	 * 
	 * @param periodUnit [枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR
	 */
	public void setPeriodUnit(CardTemplatePeriodUnit periodUnit) {
		this.periodUnit = periodUnit;
	}

	/**
	 * 获取每日限额(-1.00表示不限额）
	 * 
	 * @return limitAmount 每日限额(-1.00表示不限额）
	 */
	public BigDecimal getLimitAmount() {
		return limitAmount;
	}
  	
	/**
	 * 设置每日限额(-1.00表示不限额）
	 * 
	 * @param limitAmount 每日限额(-1.00表示不限额）
	 */
	public void setLimitAmount(BigDecimal limitAmount) {
		this.limitAmount = limitAmount;
	}

	/**
	 * 获取是否可以退卡
	 * 
	 * @return canRefund 是否可以退卡
	 */
	public Boolean getCanRefund() {
		return canRefund;
	}
  	
	/**
	 * 设置是否可以退卡
	 * 
	 * @param canRefund 是否可以退卡
	 */
	public void setCanRefund(Boolean canRefund) {
		this.canRefund = canRefund;
	}

	/**
	 * 获取退款扣款手续费率比例(0.00~1.00)
	 * 
	 * @return refundRate 退款扣款手续费率比例(0.00~1.00)
	 */
	public BigDecimal getRefundRate() {
		return refundRate;
	}
  	
	/**
	 * 设置退款扣款手续费率比例(0.00~1.00)
	 * 
	 * @param refundRate 退款扣款手续费率比例(0.00~1.00)
	 */
	public void setRefundRate(BigDecimal refundRate) {
		this.refundRate = refundRate;
	}

	/**
	 * 获取是否收取服务费
	 * 
	 * @return needServiceFee 是否收取服务费
	 */
	public Boolean getNeedServiceFee() {
		return needServiceFee;
	}
  	
	/**
	 * 设置是否收取服务费
	 * 
	 * @param needServiceFee 是否收取服务费
	 */
	public void setNeedServiceFee(Boolean needServiceFee) {
		this.needServiceFee = needServiceFee;
	}

	/**
	 * 获取[枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT
	 * 
	 * @return scope [枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT
	 */
	public CardTemplateScope getScope() {
		return scope;
	}
  	
	/**
	 * 设置[枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT
	 * 
	 * @param scope [枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT
	 */
	public void setScope(CardTemplateScope scope) {
		this.scope = scope;
	}

	/**
	 * 获取悦卡描述
	 * 
	 * @return description 悦卡描述
	 */
	public String getDescription() {
		return description;
	}
  	
	/**
	 * 设置悦卡描述
	 * 
	 * @param description 悦卡描述
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获取悦卡类型ID（允许不分类）
	 * 
	 * @return cardCategoryId 悦卡类型ID（允许不分类）
	 */
	public String getCardCategoryId() {
		return cardCategoryId;
	}
  	
	/**
	 * 设置悦卡类型ID（允许不分类）
	 * 
	 * @param cardCategoryId 悦卡类型ID（允许不分类）
	 */
	public void setCardCategoryId(String cardCategoryId) {
		this.cardCategoryId = cardCategoryId;
	}

	/**
	 * 获取[全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD
	 * 
	 * @return cardType [全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD
	 */
	public CardType getCardType() {
		return cardType;
	}
  	
	/**
	 * 设置[全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD
	 * 
	 * @param cardType [全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD
	 */
	public void setCardType(CardType cardType) {
		this.cardType = cardType;
	}

	/**
	 * 获取是否优先排序 0 不优先 1优先
	 * 
	 * @return prioritization 是否优先排序 0 不优先 1优先
	 */
	public Boolean getPrioritization() {
		return prioritization;
	}
  	
	/**
	 * 设置是否优先排序 0 不优先 1优先
	 * 
	 * @param prioritization 是否优先排序 0 不优先 1优先
	 */
	public void setPrioritization(Boolean prioritization) {
		this.prioritization = prioritization;
	}

	/**
	 * 获取是否允许再京东商城上买东西 0不允许 1允许
	 * 
	 * @return allowBuyJd 是否允许再京东商城上买东西 0不允许 1允许
	 */
	public Boolean getAllowBuyJd() {
		return allowBuyJd;
	}
  	
	/**
	 * 设置是否允许再京东商城上买东西 0不允许 1允许
	 * 
	 * @param allowBuyJd 是否允许再京东商城上买东西 0不允许 1允许
	 */
	public void setAllowBuyJd(Boolean allowBuyJd) {
		this.allowBuyJd = allowBuyJd;
	}

	/**
	 * 获取[全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD
	 * 
	 * @return cardForm [全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD
	 */
	public CardForm getCardForm() {
		return cardForm;
	}
  	
	/**
	 * 设置[全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD
	 * 
	 * @param cardForm [全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD
	 */
	public void setCardForm(CardForm cardForm) {
		this.cardForm = cardForm;
	}

	/**
	 * 获取[枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN
	 * 
	 * @return cardNoRules [枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN
	 */
	public CardTemplateCardNoRules getCardNoRules() {
		return cardNoRules;
	}
  	
	/**
	 * 设置[枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN
	 * 
	 * @param cardNoRules [枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN
	 */
	public void setCardNoRules(CardTemplateCardNoRules cardNoRules) {
		this.cardNoRules = cardNoRules;
	}

	/**
	 * 获取[枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT
	 * 
	 * @return cardPwdRules [枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT
	 */
	public CardTemplateCardPwdRules getCardPwdRules() {
		return cardPwdRules;
	}
  	
	/**
	 * 设置[枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT
	 * 
	 * @param cardPwdRules [枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT
	 */
	public void setCardPwdRules(CardTemplateCardPwdRules cardPwdRules) {
		this.cardPwdRules = cardPwdRules;
	}

	/**
	 * 获取[枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF
	 * 
	 * @return makeCardWay [枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF
	 */
	public CardTemplateMakeCardWay getMakeCardWay() {
		return makeCardWay;
	}
  	
	/**
	 * 设置[枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF
	 * 
	 * @param makeCardWay [枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF
	 */
	public void setMakeCardWay(CardTemplateMakeCardWay makeCardWay) {
		this.makeCardWay = makeCardWay;
	}

	/**
	 * 获取制卡数量
	 * 
	 * @return makeCardNum 制卡数量
	 */
	public Integer getMakeCardNum() {
		return makeCardNum;
	}
  	
	/**
	 * 设置制卡数量
	 * 
	 * @param makeCardNum 制卡数量
	 */
	public void setMakeCardNum(Integer makeCardNum) {
		this.makeCardNum = makeCardNum;
	}

	/**
	 * 获取制卡服务费：手动输入
	 * 
	 * @return makeCardServiceFee 制卡服务费：手动输入
	 */
	public BigDecimal getMakeCardServiceFee() {
		return makeCardServiceFee;
	}
  	
	/**
	 * 设置制卡服务费：手动输入
	 * 
	 * @param makeCardServiceFee 制卡服务费：手动输入
	 */
	public void setMakeCardServiceFee(BigDecimal makeCardServiceFee) {
		this.makeCardServiceFee = makeCardServiceFee;
	}

	/**
	 * 获取[枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS
	 * 
	 * @return cardStyle [枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS
	 */
	public CardTemplateCardStyle getCardStyle() {
		return cardStyle;
	}
  	
	/**
	 * 设置[枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS
	 * 
	 * @param cardStyle [枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS
	 */
	public void setCardStyle(CardTemplateCardStyle cardStyle) {
		this.cardStyle = cardStyle;
	}

	/**
	 * 获取卡正面
	 * 
	 * @return cardPositiveUrl 卡正面
	 */
	public String getCardPositiveUrl() {
		return cardPositiveUrl;
	}
  	
	/**
	 * 设置卡正面
	 * 
	 * @param cardPositiveUrl 卡正面
	 */
	public void setCardPositiveUrl(String cardPositiveUrl) {
		this.cardPositiveUrl = cardPositiveUrl;
	}

	/**
	 * 获取卡反面
	 * 
	 * @return cardReverseUrl 卡反面
	 */
	public String getCardReverseUrl() {
		return cardReverseUrl;
	}
  	
	/**
	 * 设置卡反面
	 * 
	 * @param cardReverseUrl 卡反面
	 */
	public void setCardReverseUrl(String cardReverseUrl) {
		this.cardReverseUrl = cardReverseUrl;
	}

	/**
	 * 获取备注
	 * 
	 * @return remark 备注
	 */
	public String getRemark() {
		return remark;
	}
  	
	/**
	 * 设置备注
	 * 
	 * @param remark 备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取排序
	 * 
	 * @return sort 排序
	 */
	public Integer getSort() {
		return sort;
	}
  	
	/**
	 * 设置排序
	 * 
	 * @param sort 排序
	 */
	public void setSort(Integer sort) {
		this.sort = sort;
	}

	/**
	 * 获取
	 * 
	 * @return createdTime 
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdTime 
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取创建人
	 * 
	 * @return createdBy 创建人
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人
	 * 
	 * @param createdBy 创建人
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建人名称
	 * 
	 * @return createdByName 创建人名称
	 */
	public String getCreatedByName() {
		return createdByName;
	}
  	
	/**
	 * 设置创建人名称
	 * 
	 * @param createdByName 创建人名称
	 */
	public void setCreatedByName(String createdByName) {
		this.createdByName = createdByName;
	}

	/**
	 * 获取修改人
	 * 
	 * @return modifiedBy 修改人
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置修改人
	 * 
	 * @param modifiedBy 修改人
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取修改时间
	 * 
	 * @return modifiedTime 修改时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置修改时间
	 * 
	 * @param modifiedTime 修改时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @return del 逻辑删除，1表示已删除,0表示未删除
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @param del 逻辑删除，1表示已删除,0表示未删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取删除人ID
	 * 
	 * @return delBy 删除人ID
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置删除人ID
	 * 
	 * @param delBy 删除人ID
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取删除时间
	 * 
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置删除时间
	 * 
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

	/**
	 * 获取[枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED
	 * 
	 * @return checkStatus [枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED
	 */
	public CardTemplateCheckStatus getCheckStatus() {
		return checkStatus;
	}
  	
	/**
	 * 设置[枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED
	 * 
	 * @param checkStatus [枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED
	 */
	public void setCheckStatus(CardTemplateCheckStatus checkStatus) {
		this.checkStatus = checkStatus;
	}

	/**
	 * 获取审核人
	 * 
	 * @return checkBy 审核人
	 */
	public String getCheckBy() {
		return checkBy;
	}
  	
	/**
	 * 设置审核人
	 * 
	 * @param checkBy 审核人
	 */
	public void setCheckBy(String checkBy) {
		this.checkBy = checkBy;
	}

	/**
	 * 获取审核名称
	 * 
	 * @return checkName 审核名称
	 */
	public String getCheckName() {
		return checkName;
	}
  	
	/**
	 * 设置审核名称
	 * 
	 * @param checkName 审核名称
	 */
	public void setCheckName(String checkName) {
		this.checkName = checkName;
	}

	/**
	 * 获取审核时间
	 * 
	 * @return checkTime 审核时间
	 */
	public LocalDateTime getCheckTime() {
		return checkTime;
	}
  	
	/**
	 * 设置审核时间
	 * 
	 * @param checkTime 审核时间
	 */
	public void setCheckTime(LocalDateTime checkTime) {
		this.checkTime = checkTime;
	}

	/**
	 * 获取审核备注
	 * 
	 * @return checkRemark 审核备注
	 */
	public String getCheckRemark() {
		return checkRemark;
	}
  	
	/**
	 * 设置审核备注
	 * 
	 * @param checkRemark 审核备注
	 */
	public void setCheckRemark(String checkRemark) {
		this.checkRemark = checkRemark;
	}

	/**
	 * 获取[枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT
	 * 
	 * @return bindingStatus [枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT
	 */
	public CardTemplateBindingStatus getBindingStatus() {
		return bindingStatus;
	}
  	
	/**
	 * 设置[枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT
	 * 
	 * @param bindingStatus [枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT
	 */
	public void setBindingStatus(CardTemplateBindingStatus bindingStatus) {
		this.bindingStatus = bindingStatus;
	}

	/**
	 * 获取限制数量
	 * 
	 * @return bindingNum 限制数量
	 */
	public Integer getBindingNum() {
		return bindingNum;
	}
  	
	/**
	 * 设置限制数量
	 * 
	 * @param bindingNum 限制数量
	 */
	public void setBindingNum(Integer bindingNum) {
		this.bindingNum = bindingNum;
	}

	public String getScenarioType() {
		return scenarioType;
	}

	public void setScenarioType(String scenarioType) {
		this.scenarioType = scenarioType;
	}

	public String toString() {
		return new StringBuilder().append("CardTemplateEntity{").
			append("id=").append(id).
			append(",ownerType=").append(ownerType).
			append(",groupId=").append(groupId).
			append(",busdId=").append(busdId).
			append(",merchantId=").append(merchantId).
			append(",title=").append(title).
			append(",amount=").append(amount).
			append(",imgUrl=").append(imgUrl).
			append(",detailImgUrl=").append(detailImgUrl).
			append(",enabled=").append(enabled).
			append(",onShelves=").append(onShelves).
			append(",timeLimitType=").append(timeLimitType).
			append(",beginTime=").append(beginTime).
			append(",endTime=").append(endTime).
			append(",period=").append(period).
			append(",periodUnit=").append(periodUnit).
			append(",limitAmount=").append(limitAmount).
			append(",canRefund=").append(canRefund).
			append(",refundRate=").append(refundRate).
			append(",needServiceFee=").append(needServiceFee).
			append(",scope=").append(scope).
			append(",description=").append(description).
			append(",cardCategoryId=").append(cardCategoryId).
			append(",cardType=").append(cardType).
			append(",prioritization=").append(prioritization).
			append(",allowBuyJd=").append(allowBuyJd).
			append(",cardForm=").append(cardForm).
			append(",cardNoRules=").append(cardNoRules).
			append(",cardPwdRules=").append(cardPwdRules).
			append(",makeCardWay=").append(makeCardWay).
			append(",makeCardNum=").append(makeCardNum).
			append(",makeCardServiceFee=").append(makeCardServiceFee).
			append(",cardStyle=").append(cardStyle).
			append(",cardPositiveUrl=").append(cardPositiveUrl).
			append(",cardReverseUrl=").append(cardReverseUrl).
			append(",remark=").append(remark).
			append(",sort=").append(sort).
			append(",createdTime=").append(createdTime).
			append(",createdBy=").append(createdBy).
			append(",createdByName=").append(createdByName).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append(",checkStatus=").append(checkStatus).
			append(",checkBy=").append(checkBy).
			append(",checkName=").append(checkName).
			append(",checkTime=").append(checkTime).
			append(",checkRemark=").append(checkRemark).
			append(",bindingStatus=").append(bindingStatus).
			append(",bindingNum=").append(bindingNum).
			append(",scenarioType=").append(scenarioType).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CardTemplateEntity copy() {
		return new CardTemplateEntity(this);
	}

    /** 悦卡ID */
	public static final String COL_ID = "id";

    /** [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT */
	public static final String COL_OWNER_TYPE = "owner_type";

    /** 集团ID */
	public static final String COL_GROUP_ID = "group_id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 商户ID */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 悦卡名称 */
	public static final String COL_TITLE = "title";

    /** 悦卡面值 */
	public static final String COL_AMOUNT = "amount";

    /** 悦卡图片地址 */
	public static final String COL_IMG_URL = "img_url";

    /** 悦卡详情图片地址 */
	public static final String COL_DETAIL_IMG_URL = "detail_img_url";

    /** 是否启用（1启用，0禁用），启用后可以发放 */
	public static final String COL_ENABLED = "enabled";

    /** 是否上架（1：上架 0：下架）上架后可以购买 */
	public static final String COL_ON_SHELVES = "on_shelves";

    /** [枚举]时间限制类型：0-固定时段-FIXED_RANGE、1-有效时长-PERIOD */
	public static final String COL_TIME_LIMIT_TYPE = "time_limit_type";

    /** 有效期开始时间 （与有效天数二选一） */
	public static final String COL_BEGIN_TIME = "begin_time";

    /** 有效期结束时间（与有效天数二选一） */
	public static final String COL_END_TIME = "end_time";

    /** 有效时长 */
	public static final String COL_PERIOD = "period";

    /** [枚举]时长单位：0-分钟-MINUTE、1-小时-HOUR、2-天-DAY、3-月-MONTH、4-年-YEAR */
	public static final String COL_PERIOD_UNIT = "period_unit";

    /** 每日限额(-1.00表示不限额） */
	public static final String COL_LIMIT_AMOUNT = "limit_amount";

    /** 是否可以退卡 */
	public static final String COL_CAN_REFUND = "can_refund";

    /** 退款扣款手续费率比例(0.00~1.00) */
	public static final String COL_REFUND_RATE = "refund_rate";

    /** 是否收取服务费 */
	public static final String COL_NEED_SERVICE_FEE = "need_service_fee";

    /** [枚举]使用范围：0-全部-ALL、1-商圈-BUSINESS_DISTRICT、2-商户-MERCHANT */
	public static final String COL_SCOPE = "scope";

    /** 悦卡描述 */
	public static final String COL_DESCRIPTION = "description";

    /** 悦卡类型ID（允许不分类） */
	public static final String COL_CARD_CATEGORY_ID = "card_category_id";

    /** [全局枚举]悦卡类型：0-福利卡-WELFARE_CARD、1-预付卡-PREPAY_CARD */
	public static final String COL_CARD_TYPE = "card_type";

    /** 是否优先排序 0 不优先 1优先 */
	public static final String COL_PRIORITIZATION = "prioritization";

    /** 是否允许再京东商城上买东西 0不允许 1允许 */
	public static final String COL_ALLOW_BUY_JD = "allow_buy_jd";

    /** [全局枚举]悦卡形式：0-虚拟卡-VIRTUAL_CARD、1-实体卡-ENTITY_CARD */
	public static final String COL_CARD_FORM = "card_form";

	/** [全局枚举]应用场景：1-线上-ON_LINE、2-线下-OFFLINE */
	public static final String COL_SCENARIO_TYPE = "scenario_type";

    /** [枚举]卡号规则：12-12位-TWELVE、13-13位-THIRTEEN、14-14位-FOURTEEN、15-15位-FIFTEEN、16-16位-SIXTEEN */
	public static final String COL_CARD_NO_RULES = "card_no_rules";

    /** [枚举]卡密码规则：6-6位-SIX、7-7位-SEVEN、8-8位-EIGHT */
	public static final String COL_CARD_PWD_RULES = "card_pwd_rules";

    /** [枚举]制卡方式：0-平台制卡-PLATFORM、1-自己制卡-ONESELF */
	public static final String COL_MAKE_CARD_WAY = "make_card_way";

    /** 制卡数量 */
	public static final String COL_MAKE_CARD_NUM = "make_card_num";

    /** 制卡服务费：手动输入 */
	public static final String COL_MAKE_CARD_SERVICE_FEE = "make_card_service_fee";

    /** [枚举]制卡样式：0-刮刮卡-SCRATCH_CARDS */
	public static final String COL_CARD_STYLE = "card_style";

    /** 卡正面 */
	public static final String COL_CARD_POSITIVE_URL = "card_positive_url";

    /** 卡反面 */
	public static final String COL_CARD_REVERSE_URL = "card_reverse_url";

    /** 备注 */
	public static final String COL_REMARK = "remark";

    /** 排序 */
	public static final String COL_SORT = "sort";

    /**  */
	public static final String COL_CREATED_TIME = "created_time";

    /** 创建人 */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建人名称 */
	public static final String COL_CREATED_BY_NAME = "created_by_name";

    /** 修改人 */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 修改时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 逻辑删除，1表示已删除,0表示未删除 */
	public static final String COL_DEL = "del";

    /** 删除人ID */
	public static final String COL_DEL_BY = "del_by";

    /** 删除时间 */
	public static final String COL_DEL_TIME = "del_time";

    /** [枚举]审核状态：0-未付款-UNPAY、1-审核中-CHECKING、2-已完成-SUCCESSED、3-已驳回-REJECTED、4-待收货-WAIT_RECEIVING、5-待激活-ACTIVATE、6-废弃-ABANDONED */
	public static final String COL_CHECK_STATUS = "check_status";

    /** 审核人 */
	public static final String COL_CHECK_BY = "check_by";

    /** 审核名称 */
	public static final String COL_CHECK_NAME = "check_name";

    /** 审核时间 */
	public static final String COL_CHECK_TIME = "check_time";

    /** 审核备注 */
	public static final String COL_CHECK_REMARK = "check_remark";

    /** [枚举]绑定限制：0-不限制-NOTLIMIT、1-限制-LIMIT */
	public static final String COL_BINDING_STATUS = "binding_status";

    /** 限制数量 */
	public static final String COL_BINDING_NUM = "binding_num";
}
